Next Previous Contents

4. General requirements to run Linux/m68k

4.1 Processor

You need a Motorola 680x0 processor with a programmable memory management unit (PMMU). There is no way to run Linux/m68k without one. This reduces the list of possible processors to 68020+68851, 68030, 68040, 68LC040, and 68060. This list of processors excludes the 68000, 68HC000, 68008, 68010, 68EC020, 68EC030, and 68EC040. It also excludes the CPU32 processors (683x0 series) and the ColdFire processor. Linux/m68k can never run on these processors as they lack a PMMU and an interface for an external one (some 68EC030s do have a functioning PMMU and will run Linux; however, their long-term reliability is questionable since Motorola never tested the PMMU). Consequently, all Linux/m68k software is compiled for 68020 or higher CPUs.

Having said this, there has been an effort to create a Linux port that does not require an MMU; it's called uClinux (or Microcontroller Linux), and apparently does what it does quite well, but it is limited in that it can't support virtual memory or memory protection. uClinux and Linux/m68k binaries are not interchangeable. You can learn more about uClinux at Paul Coene's site.

If you can't figure out whether your computer has the "right" processor built-in, please see the next section of the FAQ.

At the moment, current versions of Linux/m68k require a FPU (floating point unit) to run. While there is some unsupported code that attempts to emulate the FPU (see FPU emulation, it is not reliable and its use is highly discouraged. If you have a 68020 or 68030, you need a 68881 or 68882 coprocessor as well; if you have a 68040 or 68060, you need the full version of the CPU (not the EC or LC version). So until the new FPU emulator is released, the following CPUs (listed by their full Motorola part number) are the only CPUs that support Linux/m68k:

4.2 RAM

It is possible (but very difficult) to boot Linux/m68k with as little as 2 MB. Now you know that the kernel works on your system: that's it. If you want to work with it you should have at least 4 MB (8 MB is probably the working minimum if you want to run an X display on your machine); booting from most ramdisks will require at least 5 MB.

Notes:

4.3 Hard Disk

If you want to do much more than just boot Linux/m68k you will need 60 MB or more of free space on your hard disk and a supported hard disk controller. Add another 20 MB of disk space to the base requirements to use X.

In addition, you'll need some swap space. Any amount will do (and you will need less if you have more RAM). 16 MB of swap space is a fairly reasonable size for most systems; the kernel is limited to using 128 MB of swap space.

Due to the general law that your files will expand and multiply to fill your available disk space, I recommend getting the largest disk you can afford (and your system can handle reliably).

4.4 Software

Amiga: In order to run amiboot (i.e. to boot Linux) you need AmigaOS 2.0 or higher (expansion.library V36 or later). amiboot works with SetPatch and RsrvMem (part of Emplant) running. Additionally, you can start amiboot with VMM running (see Known Bugs for how to do this). On a 68060, you will probably need the 68060 libraries that came with your CPU card installed as well. Amiga LILO may have different requirements; consult its documentation.

Macintosh: A minimal copy of System 6.0.X, System 7.X or Mac OS 8.X is required to boot the Mac. After the Mac boots, the Penguin application is run to load Linux/m68k and boot it.

Atari: You need some version of TOS available to boot the system.

4.5 Amiga Hardware Support

All models are supported, with the exception of the DraCo clone; BoXeR motherboards may work, but have not been tested. A3000(T) means A3000 or A3000T tower; A4000(T) means A4000 or A4000T tower. A2000 implies all A2000-derivatives (A1500, A2500, etc.). Note that you will need a supported CPU installed.

The following Amigas have an acceptable processor built-in: A2500, A3000, A3000T, A4000/040 (not the A4000/030, which ships with a 68EC030 processor, unless upgraded with an 040 or 060), A4000T/040 and A4000T/060. There has been a report that the last A4000/040s produced by Commodore were shipped with 68LC040's; these computers will not run Linux/m68k unless you upgrade the CPU itself (swap the chip) or swap the CPU card. All other Amiga models (even the A1000) can have the correct processor (or processors, as needed) added on; see the CPU listing for a comprehensive list of the CPU/MMU/FPU combinations that are supported by Linux/m68k.

You can check whether you have a working PMMU or not using a program called "lawbreaker" included in the Enforcer package (available from Aminet).

"Cards" generally refer to Zorro cards, which can be installed in any big box Amiga (and in various tower kits for other models). Some cards here are PCMCIA devices, which will only work in the A600 and A1200.

Supported built-in hardware:

All accelerator cards with compatible CPUs are supported (this does not mean that all features of the CPU card, like a SCSI controller, will be available, but the CPU itself should work).

All RAM expansions are supported (but see 16 bit RAM expansions). Non-AutoConfig expansions may not be recognized under all circumstances without a "memory file" (see 16 bit RAM expansions or the amiboot documentation for details).

Supported IDE cards (experimental):

Supported SCSI cards:

Note: If you have an early A4000/040, read the A3640 Zorro II Bug.

Supported Ethernet cards:

Supported I/O cards:

Supported graphics cards (with device names for 2.1/2.2 kernels); see also the Framebuffer HOWTO:

4.6 Atari Hardware Support

All models supported, including the Medusa clone. The following Atari models (or clones) have the "right" processor built-in: Atari Falcon, Atari Falcon with Afterburner 040, Atari TT, and Medusa. However, the standard Falcon does not have an FPU built-in (so you will need to add an FPU). Accelerators are available for all Ataris that will upgrade the CPU to an acceptable level; see the CPU listing for the CPU/MMU/FPU combinations currently supported by Linux/m68k.

Note that in some of the older Atari TTs there is a bug in the PAL controlling the access to the FPU. This may cause crashes (see Known Bugs).

Supported built-in hardware:

Linux's Minix FS is compatible with the Minix V2 FS used with MiNT.

Supported RAM cards:

Supported Ethernet cards:

Screen extenders: Screenblaster, Onscreen work, others should work too.

Other peripherals: Atari Laser Printer

4.7 VME Hardware Support

Motorola MVME166 and MVME167 boards

(written by Richard Hirst)

There are multiple VME boards out there on which Linux/m68k could run. There is currently one port for the Motorola MVME166 and MVME167 boards. These are complete systems on a card, so there's no need to support any external controller cards:

The released source is based on 2.0.29, but it is now being integrated in to the 2.1 development tree. The system will happily loop building the kernel for hours on end with no problems (no '040 MMU bug here!) It takes about 20 minutes to build a kernel.

More information can be found at Richard's VMEbus port page.

Motorola MVME162 board

Richard has also ported Linux/m68k to the MVME162 (after the original port was made by Vaughn Skinner and lost in a disk crash). It "basically works as well as the 166 and 167" ports according to Richard.

The needed files can be downloaded from Richard's VME page.

Motorola MVME147 board

A port to the MVME147 board was made by Dave Frascone <chaos@mindspring.com>. It has been integrated into Richard's VME port, and can be found at the same page.

Other VME Boards: VME 17x, BVME4000/6000

The VME 17x series of boards are similar to the 16x series, except they have 68060 processors. According to Richard Hirst, the corresponding 16x port should run fine with the data cache disabled (which will cause a performance drop-off), if you compile the kernel with 68060 support. The caching problem will be resolved in due course.

Richard has also teamed up with BVM Ltd. to port Linux/m68k to that company's BVME4000 and 6000 boards. The port will be integrated into the development tree in the near future; you can obtain it from Richard's VME pages. More information is available on BVM's home page.

Richard is currently working on a port to the Tadpole TP34V, a 68030-based VME single-board computer.

4.8 Macintosh Hardware Support

(written by Joe Pranevich; updated by David Kilzer)

Currently, development on the port is going along nicely. The latest 2.0 kernel is 2.0.33pl1, which contains enough drivers for a "production" machine on some systems. The latest 2.1 kernel is 2.1.105, which includes Mac IDE support and some Quadra SCSI support.

Currently "supported" machines are listed on http://www.mac.linux-m68k.org/. Most 68030 and 68040 Macs with an FPU will boot to the login prompt using a RAM disk. FPU-less Macs will hang at some point during the boot process.

The following Macintoshes have the "right" processor built-in: all "Classic" Macs (except as noted below), all "II" Macs (the original Mac II requires a 68851 PMMU), all "LC" Macs (except as noted below), all Performas, all Centris and Quadras, and all Powerbooks/Duos (except as noted below). "Classic" Mac exceptions include the original Macintosh (128k), 512k, 512ke, XL, Plus, SE, SE FDHD, and the original Mac Classic (all of which use 68000 processors). Powerbook exceptions include the Portable and the Powerbook 100 (both use a 16 MHz 68HC000). The only "LC" Mac exception is the original 68020-based Mac LC, which lacks a PMMU slot, though a hardware hack and third-party processor upgrades are available. See the CPU listing for a comprehensive list of supported CPU/MMU/FPU combinations.

As for drivers, we have NCR5380 and NCR53c9[46] SCSI, Mac IDE, NS8390 (Daynaport) Ethernet, NuBus, ADB (Mac-II, IIsi and CUDA styles) for keyboard and mouse (also used by some NeXTs), video (most of Apple's video boards, except RBV--RAM-based video--boards), and probably some other goodies. We also have a working installer and booter (Penguin).

Updates, as always, on http://www.mac.linux-m68k.org/.

4.9 Sun 3 Workstation Hardware Support

(written by Joaquin Menchaca)

There is a current Linux/m68k port to the Sun 3 Series. The machines intended to be supported are Sun 3/50, Sun 3/60, Sun 3/75, Sun 3/150, and others of similar design. The Sun 3/80 and Sun 3/40X have radically different hardware and will thus have to be supported by a different port.

Pekka Pietikäinen <pp@netppl.fi> is the point of contact for this port. A patch relative to 2.0.25 is available from him. More information is available at http://www.netppl.fi/~pp/sun3/.

4.10 NeXT Workstation Hardware Support

(written by Joaquin Menchaca)

There is an ongoing movement to port Linux/m68k to the NeXT hardware. Currently the booter is being worked on. Progress is difficult because the lack of documentation available for this platform. Apple is dropping 680x0 support in future OS releases and current technical support does not make this effort easier.

Several individuals have expressed interest in the port to the m68k NeXT computers, including:

The current status of this porting effort is unclear. More information should be available at the Li/NeXT web site, http://www.black.linux-m68k.org/ and/or Zach Brown's site, http://www.zabbo.net/linux/next/.

4.11 Hewlett-Packard (HP)/Apollo Domain Workstation Hardware Support

The first pre-alpha release of Linux/m68k for Apollo Domain workstations is now available at ftp://ftp.ba.be/pub/apollo/. It apparently only runs from a ramdisk, but it does support the monochrome framebuffer, 3c505 Ethernet card, and the keyboard. Contact Peter De Schrijver <Peter.DeSchrijver@linux.cc.kuleuven.ac.be> for more details.

4.12 HP 9000/300 Workstation Hardware Support

(written by Phil Blundell)

Phil Blundell <Philip.Blundell@pobox.com> is working on this port. Phil has set up a web page at http://www.tazenda.demon.co.uk/phil/linux-hp/ with more information about this port.

4.13 Unsupported 680x0 Hardware

There is currently no Linux/m68k port for several 680x0 based computers that would be able to run Linux. The reason for this is rather simple: Nobody has written it. The reasons for that are many: The people who already have most/all of the knowledge on the Linux side of the port are usually busy maintaining/improving one of the existing ports. Another quite common reason is that no or only insufficient documentation on the hardware of that platform exists. Sun 3s are an even more special case: Unlike all other machines mentioned here, they don't use Motorola MMUs (except the Sun 3/80, which uses a 68030).

See Future Development for details on progress (or lack thereof) toward completing ports to these systems.

As far as I know, you can run NetBSD or OpenBSD on some of the unsupported systems.

4.14 Support for other processors

Linux also runs on several other platforms in varying states of usability:

This list is not exhaustive. A definitive guide can be found at http://www.ctv.es/USERS/xose/linux/linux_ports.html.

4.15 Definitely Unsupported Hardware: The Hall of Shame

(inspired by recent traffic on the kernel list)

The following is a list of devices for which the manufacturer either will not provide programming information or will not make that information available under an agreement that allows us to release the source code for the driver.

You are encouraged to voice your displeasure at these manufacturers if you own these products and to refrain from purchasing their products until they adopt a more sensible policy.


Next Previous Contents